#!/bin/bash
# fix-system-groups.sh

set -e

echo "=== 修复系统组权限 ==="

# 1. 检查存在的组
echo "检查系统组:"
getent group video || echo "video组不存在"
getent group render || echo "render组不存在"
getent group kvm || echo "kvm组不存在"

# 2. 创建缺失的组（如果需要）
if ! getent group render > /dev/null; then
    echo "创建render组..."
    sudo groupadd -r render
fi

if ! getent group kvm > /dev/null; then
    echo "创建kvm组..."
    sudo groupadd -r kvm
fi

# 3. 将当前用户添加到组
echo "将用户添加到组..."
sudo usermod -a -G video $USER
sudo usermod -a -G render $USER 2>/dev/null || echo "render组添加失败"
sudo usermod -a -G kvm $USER 2>/dev/null || echo "kvm组添加失败"

# 4. 显示当前用户所属组
echo "当前用户组:"
groups $USER

# 5. 重启Docker服务
echo "重启Docker服务..."
sudo systemctl restart docker

echo "=== 组权限修复完成 ==="
echo "请重新登录或重启系统使组更改生效"